<Query Kind="Statements">
  <NuGetReference>SharpSvn</NuGetReference>
  <Namespace>SharpSvn</Namespace>
  <Namespace>System.Net</Namespace>
</Query>

// 2025年8月26日：
// 当服务器上的项目已经删除，但是本地文件还没有删除时，
// 根据服务器上的项目判断是否存在更新内容，提示没有更新。
// 针对该问题，需要额外增加本地项目的判断

// Result: 实际上通过 GetStatus 并不能判断这种情况
// 最终是通过 GetInfo 获取本地的路径，判断本地路径是否在远程同样存在来进行判断的

using SvnClient _client = new SvnClient();
NetworkCredential _credential = new NetworkCredential("Administrator", "sicont_server");
_client.Authentication.Clear();
_client.Authentication.DefaultCredentials = _credential;
_client.Authentication.SslServerTrustHandlers += (sender, e) =>
{
    e.AcceptedFailures = e.Failures;
    e.Save = true;
};

string _remote_repository = "https://Vc2000/svn/ProjectRepository/";
string _local_repository = "D:\\WorkSpace";

SvnPathTarget _local_target = new(_local_repository);
SvnUriTarget _remote_target = new(_remote_repository);

/**************************************************************************************/

SvnStatusArgs _status_args = new SvnStatusArgs()
{
    Depth = SvnDepth.Children,
};

string _temp_path = Path.Combine(_local_repository, "测试测试测试");
_client.GetStatus(_temp_path, _status_args, out var _status);
_status.Dump();
